1. Field of the Invention
This invention relates to a data driven network for concurrent and pipeline processing and more specifically to such a network including both distributed processing elements and also distributed memory elements.
2. Description of Prior Art
Prior art data processing systems have generally been designed with a high degree of centralization of system control which resided in such devices as the central processor and main memory units. This high degree of centralization resulted from hardware costs, component sizes and attempts to optimize the utilization of such components. In turn, system operational algorithms were oriented toward centralized as opposed to decentralized control and algorithms and languages were oriented toward sequential task execution. In such centralized systems, particular devices were dedicated to particular functions and partitioning of the system between different processes was, at best, irregular. Large operating systems were evolved in order to optimize the utilization of the various system components or devices in order to share them across a number of programs and tasks. Such highly centralized systems do not take full advantage of the economies now available with the use of modular large scale integrated (LSI) circuit chips.
In order to provide more flexibility for the accommodation of concurrent processes, programs, and tasks, such centralized prior art systems have evolved into multiprocessing and also parallel processing systems made up of networks and arrays of units that achieve some degree of modularity. That is to say, the processing capabilities can be increased by adding additional central processing units, main memory can be increased by adding an additional number of memory modules and the I/O capabilities can be increased by adding an additional number of I/O channels or control units. However, the individual processing units and I/O control units are still oriented toward sequential task execution, system control is still relatively centralized, and partitioning of the different units in the system to handle different concurrent tasks is still relatively irregular.
Developments in LSI circuitry and in other component technology have removed some of the influences which resulted in the design of a highly centralized control in computer systems. LSI technology requires regularity and nondedication of specialized or complex algorithms and functions to circuit chips. Additionally, integrated circuit memories are interface compatible with logic circuits and, therefore, the register oriented processor architecture may be eliminated by distributing integrated circuit memories throughout the system. In addition, the development trends in periodic storage devices such as discs, disc packs, delay lines, and the like, have provided a very inexpensive form of memory. While the access times of such periodic or dynamic type memories are relatively slow compared to integrated circuit memories, the distribution of such periodic memories throughout a system allows the advantage of a virtually infinite amount of storage for which the access time is no greater than the access time for a particular memory.
In order to provide modularity of units implemented in integrated circuits, the employment of microprogramming allows the system to be fabricated from a large number of similar processor chips, each of which is dedicated to a particular task by the microprogram stored in its microprogram memory. Thus, a number of similar processors implemented in integrated circuit chips can be respectively dedicated to arithmetic operations, input/output operations, and the like.
A particular architectural feature which has influenced the design of highly centralized systems has been the employment of bit parallel data paths and the bit parallel access of memory. Such parallel data transfer has required some uniform width of data segments which, in turn, does not readily accommodate different user applications. However, the employment of a serial-by-bit or serial-by-character data transfer readily accommodates data segments of any length and avoids the requirements that data paths, registers and memory locations be wired in uniformity with one another.
Perhaps the most significant single feature of prior art systems, which has resulted in the design of centralized system control and sequential task execution, has been that of employing control driven instruction execution. That is to say, in most prior art systems, a string of instructions representing a program, or procedure within a program, have been called forth by the sequential incrementation of a program counter and the operands required by the instruction string must be arranged to arrive at the processor in time for the execution of the particular instructions in that string. Since the presence of the necessary operands has not been the event calling for instruction execution, a number of cumbersome methods has been created for insuring the presence of the necessary operands.
In contrast with such control driven systems, data driven systems are ones where the particular instructions are called forth for execution in response to the arrival of the respective data segments at a particular processing unit. In such data driven systems, a program counter is not required for system control and there is no longer any necessity for centralization of such system control. In such a data driven system, the various instructions making up a program can be assigned to different processors and the execution thereof would take place in sequence as the respective data was transferred from one processor to another. In this manner, the system can be readily partitioned to accommodate completely concurrent or unrelated procedures. On the other hand, where a number of processing actions are to be executed on like data segments, the stream of such like data segments can be transferred from one processor to another to provide a pipeline effect limited only by the transfer rates from one processor to another.
It is, then, an object of the present invention to provide an information processing system with a more natural organization for operation than exists in prior art control driven systems.
It is another object of the present invention to provide an information processing system having distribution of function units and memory units which system does not require centralized system control.
It is still another object of the present invention to provide an improved information processing system that may be dynamically partitioned to accommodate concurrent procedures, programs, and tasks.
It is still another object of the present invention to provide an improved information processing system comprising any number of similar function units that then may be assigned different tasks that are to be performed by the system.
It is a further object of the present invention to provide an improved information processing system having a distributive memory that can be increased without limit without an increase in the access time thereof.